home *** CD-ROM | disk | FTP | other *** search
- /////////////////////////////////////////////////////////////
- // Flash Plugin and Player
- // Copyright (C) 1998,1999 Olivier Debon
- //
- // This program is free software; you can redistribute it and/or
- // modify it under the terms of the GNU General Public License
- // as published by the Free Software Foundation; either version 2
- // of the License, or (at your option) any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
- //
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software
- // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- //
- ///////////////////////////////////////////////////////////////
- #ifndef _TEXT_H_
- #define _TEXT_H_
-
- struct Glyph {
- long index;
- long xAdvance;
- long code; // Ascii code
- };
-
- struct TextRecord {
-
- // Normal text record
- Glyph *glyphs;
- long nbGlyphs;
-
- // Control text record
- TextFlags flags;
- SwfFont *font;
- long fontHeight;
- Color color;
- long xOffset;
- long yOffset;
-
- TextRecord *next;
-
- TextRecord();
- ~TextRecord();
-
- char *getText();
- };
-
- class Text : public Character {
-
- Rect boundary;
- Matrix textMatrix;
- TextRecord *textRecords; // List
-
- public:
- Text(long id);
- ~Text();
-
- void setTextBoundary(Rect rect);
- void setTextMatrix(Matrix m);
- void addTextRecord(TextRecord *tr);
- int execute(GraphicDevice *gd, Matrix *matrix, Cxform *cxform);
- void getRegion(GraphicDevice *gd, Matrix *matrix,
- void *id, ScanLineFunc scan_line_func);
- int doText(GraphicDevice *gd, Matrix *matrix, Cxform *cxform, ShapeAction action,
- void *id, ScanLineFunc scan_line_func);
- void getBoundingBox(Rect *bb, DisplayListEntry *e);
- TextRecord *getTextRecords();
-
- #ifdef DUMP
- void dump(BitStream *bs);
- #endif
- };
-
- #endif /* _TEXT_H_ */
-